﻿using System;
using System.Collections.Generic;
using System.Text;

using System.ComponentModel;

namespace xbmc_json_async.Types.Video.Details
{
    /// <summary>
    /// Video.Details.TVShow
    /// Still to implement Video.Cast cast
    /// http://wiki.xbmc.org/index.php?title=JSON-RPC_API/v3#Video.Details.TVShow
    /// </summary>
    public abstract class TVShow : Item
    {
        /// <summary>
        /// Gets or sets the episode.
        /// </summary>
        /// <value>
        /// The episode.
        /// </value>
        [DisplayName("Episode"), Category("General")]
        public int episode { get; set; }

        /// <summary>
        /// Gets or sets the episodeguide.
        /// </summary>
        /// <value>
        /// The episodeguide.
        /// </value>
        [DisplayName("Episode Guide"), Category("General")]
        public string episodeguide{ get; set; }

        /// <summary>
        /// Gets or sets the genre.
        /// </summary>
        /// <value>
        /// The genre.
        /// </value>
        [DisplayName("Genre"), Category("General")]
        public string genre { get; set; }

        /// <summary>
        /// Gets or sets the imdbnumber.
        /// </summary>
        /// <value>
        /// The imdbnumber.
        /// </value>
        [DisplayName("IMDB Number"), Category("General")]
        public string imdbnumber { get; set; }

        /// <summary>
        /// Gets or sets the mpaa.
        /// </summary>
        /// <value>
        /// The mpaa.
        /// </value>
        [DisplayName("IMDB Number"), Category("General")]
        public string mpaa { get; set; }

        /// <summary>
        /// Gets or sets the originaltitle.
        /// </summary>
        /// <value>
        /// The originaltitle.
        /// </value>
        [DisplayName("Original Title"), Category("General")]
        public string originaltitle { get; set; }

        /// <summary>
        /// Gets or sets the premiered.
        /// </summary>
        /// <value>
        /// The premiered.
        /// </value>
        [DisplayName("Premiered"), Category("General")]
        public string premiered { get; set; }

        /// <summary>
        /// Gets or sets the rating.
        /// </summary>
        /// <value>
        /// The rating.
        /// </value>
        [DisplayName("Rating"), Category("General")]
        public double rating { get; set; }

        /// <summary>
        /// Gets or sets the sorttitle.
        /// </summary>
        /// <value>
        /// The sorttitle.
        /// </value>
        [DisplayName("Sort Title"), Category("General")]
        public string sorttitle { get; set; }

        /// <summary>
        /// Gets or sets the studio.
        /// </summary>
        /// <value>
        /// The studio.
        /// </value>
        [DisplayName("Studio"), Category("General")]
        public string studio { get; set; }

        /// <summary>
        /// Gets or sets the tvshowid.
        /// </summary>
        /// <value>
        /// The tvshowid.
        /// </value>
        [DisplayName("TV Show ID"), Category("General")]
        public int tvshowid { get; set; }

        /*
        /// <summary>
        /// Gets or sets the studio.
        /// </summary>
        /// <value>
        /// The studio.
        /// </value>
        [DisplayName("Studio"), Category("General")]
        public string studio { get; set; }
        */

        /// <summary>
        /// Gets or sets the votes.
        /// </summary>
        /// <value>
        /// The votes.
        /// </value>
        [DisplayName("Year"), Category("General")]
        public string votes { get; set; }

    }
}
